iOS 您所在的位置:网站首页 ios 适配ipad iOS

iOS

2024-06-02 19:22| 来源: 网络整理| 查看: 265

前言 Vary For Traits 直接翻译过来就是因设备而异, 就是专门为适配而生的. Xcode 8 之后的适配开始使用了Vary For Traits了, Vary For Traits可以让我们很方便的适配iPad和iPhone的各种机型、横竖屏、分屏等 (关于横竖屏的使用,可以看我的另一篇简书) , 下面让我们正式开始学习Vary For Traits.

本篇的github地址

(学习这个之前最好有AutoLayout的基础,以便去添加约束)

1.Size Class Vary For Traits 是基于Size Classes进化而来,我们首先得学会Size Classes. Size Classes将屏幕抽象化,将所有屏幕的宽度和高度分为2类 : Compact-紧凑 , Regular-正常 (其实还有一个Any-任意 , Any就是Compact和Regular的任意组合) 下方的表格是各种机型的宽-高分类 , 也就是说每个机型都是Compact和Regular的组合 (例如 : iPhone X 就是Compact-Regular , 紧凑的宽度,正常的高度) 宽-高分类 iPad iPhone Plus iPhone X iPhone 4.7英寸 iPhone 4英寸 iPhone 3.5英寸 竖屏 Regular-Regular Compact-Regular Compact-Regular Compact-Regular Compact-Regular Compact-Regular 横屏 Regular-Regular Regular-Compact Compact-Compact Compact-Compact Compact-Compact Compact-Compact

2.Vary For Traits (在Interface Builder中使用) (1) 刚打开新IB界面时,默认是Any-Any(任意-任意)的模式, 此时添加的的约束, 在任意机型下都是通用的. (也就是给所有机型添加同样的约束) 刚打开IB时 (2) 点击上图中的View as iPhone 8,就可以打开Vary For Traits,我们可以看到包含各种型号的iPad,还有5.8英寸, 5.5英寸, 4.7英寸, 4.0英寸, 3.5英寸的iPhone的代表机型,还有横竖屏 打开后的样子 (3) 点击上图中的Vary for Traits就可以启用Vary for Traits了, 如下图 , 启用的时候需要选择勾选Width和Height, 这意味着你以选中的机型的Width或者Height为基准进行适配, 这里就用到了我们上面所讲的Size Classes了.

例如 : 我选择了iPhone 8 Plus(8P的竖屏是Compact-Regular,紧凑-正常) , 并且勾选了Width和Height , 就意味着我将适配所有宽度是紧凑,高度是正常的机型,在下图上可以看到,宽度是紧凑,高度是正常的机型有16款, 接下来我们所添加的约束, 将适用于这16款机型 , 这包括了所有iPhone的竖屏.

启用Vary for Traits

(4) 添加完约束后, 点击Done Varying就可以完成这次适配了.

紧接上面的例子 : 点击Done Varying你就适配好了iPhone的所有竖屏 , 如果你想为所有的iPhone适配横屏, 你需要选择一款高度为紧凑的机型, 然后启用Vary for Traits , 然后勾选高度(Baes On Height), 然后添加约束,然后Done Varying完成 . (从最上方的表格中,我们可以看出所有iPhone的横屏的高度都是紧凑的, 所有iPhone的竖屏的高度都是正常的)

添加完约束之后 (5) 适配完成之后的效果图如下,同一个View可以有不同的位置,不同的颜色,甚至不同的行为 Vary for Traits.gif 3.注意 如果你按上面的步骤操作了一遍,发现并没有成功的给不同的机型添加了不同的约束,那么你就要注意了,这可能是Xcode的一个Bug导致的,在启用Vary for Traits前,你需要把先换成横屏,然后在换成竖屏,然后在启用Vary for Traits , 这才能真正的添加不同的约束.

最后附上官方文档地址, 学习新的东西还是建议去官方文档上看, 所以学好英文还是很重要的.



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有